package com.ruoyi.ai.domain.vo;

import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.ruoyi.common.annotation.ExcelDictFormat;
import com.ruoyi.common.annotation.Sensitive;
import com.ruoyi.common.convert.ExcelDictConvert;
import com.ruoyi.common.enums.SensitiveStrategy;
import lombok.Data;
import java.util.Date;

import java.io.Serializable;

/**
 * 模型配置视图对象 wx_model_config
 *
 * @author yh
 * @date 2024-05-22
 */
@Data
@ExcelIgnoreUnannotated
public class WxModelConfigVo implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * id
     */
    @ExcelProperty(value = "id")
    private Long id;

    /**
     * 厂商
     */
    @ExcelProperty(value = "厂商", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = "model_mfg")
    private String mfg;

    /**
     * 模型类型
     */
    @ExcelProperty(value = "模型类型", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = "model_type")
    private String modelType;
    /**
     * appid
     */
    @ExcelProperty(value = "appid")
    @Sensitive(strategy = SensitiveStrategy.PHONE)
    private String appid;

    /**
     * apiKey
     */
    @ExcelProperty(value = "apiKey")
    @Sensitive(strategy = SensitiveStrategy.PHONE)
    private String apiKey;

    /**
     * secretKey
     */
    @ExcelProperty(value = "secretKey")
    @Sensitive(strategy = SensitiveStrategy.PHONE)
    private String secretKey;

    /**
     * 回答最大token数
     */
    @ExcelProperty(value = "回答最大token数")
    private Integer maxTokens;

    /**
     * 是否启用
     */
    @ExcelProperty(value = "是否启用", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = "sys_normal_disable")
    private Integer enable;

    /**
     * 是否深度思考
     */
    @ExcelProperty(value = "是否深度思考")
    private Integer isDeepseek;

    /**
     * 是否输出思考过程
     */
    @ExcelProperty(value = "是否输出思考过程")
    private Integer isOutThink;


}
